package com.veer.shop.factory;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.veer.shop.service.admin.CustomerLoginService;

/**
 * 会员登录处理工厂类
 * 根据登录方式获取相应的处理类
 * 
 * @author WangBin
 * 2021年1月4日-下午5:30:03
 */
@Component
public class CustomerLoginFactory {
	/**
	 * 注意：
	 * 这里使用Map和@Component("标识")保存Service实体业务类，而不能通过 new xxServiceImpl()的方式返回Service
	 */
	@Autowired
	private Map<String, CustomerLoginService> customerLoginServiceMap = null;
	
	/**
	 * 根据登录方式获取处理登录业务类
	 * 
	 * @param loginMethod
	 * @return
	 */
	public CustomerLoginService getCustomerLoginService(String loginMethod) {
		CustomerLoginService customerLoginService = customerLoginServiceMap.get(loginMethod);
		if(customerLoginService == null) {
			throw new RuntimeException("不支持的登录业务");
		}
		return customerLoginService;
	}
}
